Python 尝试将值从DAT文件导出到csv
我正在尝试导出csv文件中的一些值。我运行以下代码:Python 尝试将值从DAT文件导出到csv,python,csv,export,Python,Csv,Export,我正在尝试导出csv文件中的一些值。我运行以下代码: import glob import csv lines=[] files = glob.glob('*#*') for file in files: with open(file,'r+') as f: first_line = f.readline() lines.append(first_line[28:39]) print(lines) 我找到要导出到csv的就
import glob
import csv
lines=[]
files = glob.glob('*#*')
for file in files:
with open(file,'r+') as f:
first_line = f.readline()
lines.append(first_line[28:39])
print(lines)
我找到要导出到csv的就绪代码。肯定不是完全正确的。我不需要我认为的循环(对于val…)
我面临的问题是,由于我将值存储在列表中。所以他们在csv中导出有点混乱。有没有办法将它们导出到excel的第二列,并在第一列添加文件名
我的文件有(01160160316等)这样的名称
我知道使用pandas会很有用,因为我正在使用数据文件和Excel。然而,我不熟悉熊猫atm,所以另一种方法也可能有用
我正在添加两个截图,这可能会有所帮助
所以我想在我导出的csv的第二列中导出“1660195”。在第一列中,我需要文件名。比如说
[屏幕截图1输入]
[截图2文件]
您好,我实际上试过熊猫,输出正常
import glob
import pandas as pd
lines=[]
files = glob.glob('*#*')
for file in files:
with open(file,'r+') as f:
first_line = f.readline()
lines.append(first_line[28:39])
df = pd.DataFrame(lines)
df.to_csv('tst.csv')
您可以直接从datafle在pandas中创建dataframe,并尝试类似的方法
>>> df = pd.DataFrame({'foo':list('ABC')}, index=[0,2,1])
>>> df
foo
0 A
2 B
1 C
>>> df.loc[df.index[0], 'foo'] # here index[0] is your first row & column is 'foo'
'A'
>>> df.loc[df.index[1], 'foo']
'B'
或
另一个例子:
Region Nation Item Type Order Date Order ID Ship Date Units Sold U_Price Total Cost
0 Australia and Oceania Tuvalu Baby Food 5/28/2010 669165933 6/27/2010 9925 255.28 1582243.50
1 Central America and the Caribbean Grenada Cereal 8/22/2012 963881480 9/15/2012 2804 205.70 328376.44
2 Europe Russia Office Supplies 5/2/2014 341417157 5/8/2014 1779 651.21 933903.84
3 Sub-Saharan Africa Sao Tome and Principe Fruits 6/20/2014 514321792 7/5/2014 8102 9.33 56065.84
4 Sub-Saharan Africa Rwanda Office Supplies 2/1/2013 115456712 2/6/2013 5062 651.21 2657347.52
因此,您可以像下面这样编写代码
import pandas as pd
##################### Pandas Display Settings For Terminal #########
pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
##################### END OF THE Display Settings ###################
df_csv = pd.read_csv("Sales-Records.csv")).fillna('')
df_trim = df_csv[['Region', 'Nation', 'Item Type','Order Date', 'Order ID','Ship Date', 'Units Sold', 'U_Price','Total Cost']]
print(df_trim.loc[df_trim.index[0], 'Nation'])
输出
./test.py
Tuvalu
我对你的问题有点困惑,但是你应该使用
csv.reader()
来读取文件的内容,而不仅仅是用它来写输出。事实上,不,我根本不理解这个问题。请澄清您正在阅读的文件的格式in@Panagiotis,您能否显示示例数据并显示所需的输出?我可以用熊猫解决方案检查..大家好,请检查上面我编辑了我的OP@PanagiotisIoannidis,是否要提取任何特定列数据?hey@pygo感谢您的回答和努力。我会检查你的代码并让你知道!
import pandas as pd
##################### Pandas Display Settings For Terminal #########
pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
##################### END OF THE Display Settings ###################
df_csv = pd.read_csv("Sales-Records.csv")).fillna('')
df_trim = df_csv[['Region', 'Nation', 'Item Type','Order Date', 'Order ID','Ship Date', 'Units Sold', 'U_Price','Total Cost']]
print(df_trim.loc[df_trim.index[0], 'Nation'])
./test.py
Tuvalu