python逐行读取txt python逐行读取csv数据
您好,今天小天来为大家解答以上的问题。python逐行读取txt相信很多小伙伴还不知道,现在让我们一起来看看吧!
python逐行读取txt python逐行读取csv数据
python逐行读取txt python逐行读取csv数据
1、out简单的办法是一次性将文件内容读出并保存。
2、方法一:python实现import ostext_file_path = 'd:123.txt' # 定义文本文件路径folder_path = 'd:ceshi' # 定义文件夹路径with open(text_file_path, 'r') as f: # 读取文本文件内容,返回一个包含每行文本的列表content = f.readlines()folders = os.listdir(folder_path) # 获取文件夹列表for i in range(len(folders)): # 遍历文件夹列表,创建文本文件并写入内容file_name = folders[i] + '.txt' # 构造文本文件路径和文件名file_path = os.path.join(folder_path, folders[i], file_name)with open(file_path, 'w') as f: #写入文本文件首先读取指定的文本文件,获取每行文本内容。
3、然后获取指定文件夹下的所有子文件夹列表,依次遍历每个文件夹,构造文本文件路径和文件名,并将读取到的文本内容写入到该文件中。
4、import ja.io.BufferedReader;import ja.io.BufferedWriter;import ja.io.FileReader;import ja.io.FileWriter;import ja.nio.file.Paths;public class Main {public static void main(String[] args) {String textFilePath = "d:123.txt"; // 文本文件路径String folderPath = "d:ceshi"; // 文件夹路径try (BufferedReader br = new BufferedReader(new FileReader(textFilePath))) {String line = null;int folderCount = 0; // 当前已遍历的文件夹数for (String folderName : Paths.get(folderPath).toFile().list()) { // 遍历文件夹列表if (!Paths.get(folderPath, folderName).toFile().isDirectory()) {continue; // 若当前路径不是文件夹,则跳过}// 构造文本文件路径和文件名String fileName = folderName + ".txt";try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {while ((line = br.readLine()) != null) { // 逐行读取文本文件中的内容bw.write(line); // 将读取到的内容写入到当前文件}folderCount++;System.out.println("已写入 " + folderCount + " 个文本文件。
5、");} catch (IOException e) {}br.reset(); // 重置读取位置}} catch (IOException e) {}}方法三:C语言实现#inc方法二:ja实现lude #include #include #define MAX_LINE_LEN 1024int main(void) {FILE textFile;char line[MAX_LINE_LEN];char textFilePath = "d:123.txt"; // 文本文件路径char folderPath = "d:ceshi"; // 文件夹路径if ((textFile = fopen(textFilePath, "r")) == NULL) { // 打开文本文件printf("Failed to open text file.n");}int folderCount = 0; // 当前已遍历的文件夹数char folderName[256];char fileName[256];char filePath[512];sprintf(filePath, "%s%s", folderPath, folderName); // 构造文件夹路径while (1) {if (fgets(line, MAX_LINE_LEN, textFile) == NULL) { // 读取文本文件中的一行fseek(textFile, 0L, SEEK_SET); // 如果读取到文件结尾,就将文件指针重新移动到文件开头if (fgets(line, MAX_LINE_LEN, textFile) == NULL) {break; // 再次读取失败,则说明文本文件为空,结束循环}}if (sscanf(line, "%s", folderName) != 1) { // 从当前行中读取文件夹名称continue; // 如果当前行没有读取到有效内容,则跳过当前循环}// 构造文本文件名和路径sprintf(fileName, "%s.txt", folderName);sprintf(filePath, "%s%s%s", folderPath, folderName, fileName);if ((txtFile = fopen(filePath, "w")) == NULL) { // 打开文本文件printf("Failed to open text file.n");continue; // 如果打开文本文件失败,则跳过当前循环fputs(line, txtreturn 0;File);}fclose(txtFile);folderCount++;printf("已写入 %d 个文本文件。
6、n", folderCount);}fclose(textFile);}输出结果与上述JAVA实现方式一致。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。