【问题标题】:.txt to .csv via python delivers csv with only one column.txt 到 .csv 通过 python 提供只有一列的 csv
【发布时间】:2021-11-06 03:13:00
【问题描述】:

我是 python 编码的初学者 我写了一个小脚本来将文件夹中的文本文件转换为 csv 文件。该脚本正在运行,但它提供了一个只有一列的 csv 文件。我的错在哪里?转换后的文件也始终包含 .txt.csv。我会很感激一些帮助。非常感谢!

Thats the format of the txt. file

这是我的代码

import os
import pandas as pd


input = "C:\\path where original data is"
output = "C:\\path for csv files"
os.chdir(input)

txt_files = os.listdir('.')
print(txt_files)

for txt_file in (txt_files):
    df = pd.read_csv(txt_file, delimiter = ',',  names=['Messpunkt\t','Zeichnungspunkt   \t','Eigenschaft\t','Position\t', 'Sollmaß\t','Toleranz\t','Abweichung\t','Lage\t' ])
    df.to_csv(output+txt_file+'.csv', index=False)
 

【问题讨论】:

    标签: python pandas csv txt


    【解决方案1】:

    问题可能是分隔符,请尝试将其更改为 '\t',因为从您发布的图片来看,表格似乎是实际的分隔符,另一种可能的方法是将读取函数更改为 pd.read_table

    【讨论】:

    • 感谢您的快速回复。我已经尝试过不同的分隔符,但没有一个有效(包括 \t)。我还尝试了 sep \n 作为分隔符的替换。我也试过 pd.read_table 但这也没有用。
    • 另一种可能的尝试可能是'\s+',你检查过df的内容吗?
    • 谢谢,sep \s+ 工作。现在唯一的问题是,通过保存它每次创建的文件 .txt.csv 文件。
    • 为此我们可以去掉字符串output+txt_file+'.csv,例如替换txt_file中的子字符串'.txt',比如txt_file.replaceAll('.txt', '')
    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2012-11-10
    • 1970-01-01
    • 2020-02-15
    相关资源
    最近更新 更多