虽然我可以读取csv文件而不是读取整个文件,但如何只打印某些行和列?
想象一下,好像这是Excel:
A B C D E
State |Heart Disease Rate| Stroke Death Rate | HIV Diagnosis Rate |Teen Birth Rate
Alabama 235.5 54.5 16.7 18.01
Alaska 147.9 44.3 3.2 N/A
Arizona 152.5 32.7 11.9 N/A
Arkansas 221.8 57.4 10.2 N/A
California 177.9 42.2 N/A N/A
Colorado 145.3 39 8.4 9.25
Run Code Online (Sandbox Code Playgroud)
继承人我所拥有的:
import csv
try:
risk = open('riskfactors.csv', 'r', encoding="windows-1252").read() #find the file
except:
while risk != "riskfactors.csv": # if the file cant be found if there is an error …Run Code Online (Sandbox Code Playgroud) 问题:如何从列表中删除第一个单词以添加到名为的新列表中car_list,并将其余单词添加到另一个列表中other_list.
在other_list我把其余的到字典中
比如我读文件时得到的东西
data_file = ['1911 Overland OctoAuto', '1913 Scripps-Booth Bi-Autogo','1920 Briggs and Stratton Flyer'
car_list = []
other_list = []
我如何得到如下结果
car_list = [Overland, Scripps-Booth, Briggs]
other_list = [1911,OctoAuto, 1913, Bi-Autogo, 1920, and Stratton flyer]
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的
data_file = open("facts.txt", 'r')
def clean_list(data_file):
new_list =[]
clean_list =[]
car_list = []
other_list = []
D = {}
for i in data_file:
new_list = data_file.split('\n') #change split by new line or word
clean_list = [(x.strip(' ')) …Run Code Online (Sandbox Code Playgroud) 我需要将三个列表合并为一个字典.这些列表来自读取我格式化的txt文件,这里是该文件的一个片段:
maker =['Horsey', 'Ford', 'Overland', 'Scripps-Booth']
year = ['1899', '1909', '1911', '1913']
model = ['Horseless', 'Model T', 'OctoAuto', 'Bi-Autogo']
Run Code Online (Sandbox Code Playgroud)
进入以下:
car_dict = {'Horsey':1899,'Horseless','Ford':1909,'Model T','Overland' : 1911, 'OctoAuto', 'Scripps-Booth' : 1913, 'Bi-Autogo'}
Run Code Online (Sandbox Code Playgroud)
这是我做的:
def car_data_merge(car_maker,car_model,car_year):
car_dict = {}
car_merge = []
car_dict = defaultdict(partial(defaultdict,list))
for (car_maker,car_model,car_year) in zip(car_maker,car_model,car_year):
car_dict[car_year][car_model].append(car_maker)
print(car_dict)
Run Code Online (Sandbox Code Playgroud)
当我输入这个时,我得到:
{'Horsey': defaultdict(<class 'list'>, {'1899': ['Horseless']})
Run Code Online (Sandbox Code Playgroud)
并非显示列表中的所有数据,我不希望defaultdict显示.
当我尝试以下内容时:
def car_data_merge(car_maker,car_data):
car_dict = {}
car_merge = []
car_merge = zip(car_maker,car_data)
car_dict = dict(car_merge)
print(car_dict)
### car_data holds both year and …Run Code Online (Sandbox Code Playgroud) 说明:
这就是我所拥有的:
import random
afile = open("Random.txt", "w" )
for line in afile:
for i in range(input('How many random numbers?: ')):
line = random.randint(1, 100)
afile.write(line)
print(line)
afile.close()
print("\nReading the file now." )
afile = open("Random.txt", "r")
print(afile.read())
afile.close()
Run Code Online (Sandbox Code Playgroud)
一些问题:
它不是根据用户设置的范围在文件中写入随机数.
一旦打开文件就无法关闭.
读取文件时没有.
虽然我认为设置还可以,但似乎总是卡在执行上.
有没有更好的方法来编写这段代码.虽然没有错误,但它似乎打印了我输入的所有字母排序到列表中.
我想在字符串中打印常用字母,即使不止一个.
这就是我所拥有的
mystr = input("Enter a string:")
s = list(mystr)
letter_counter = {}
for word in mystr:
if word in letter_counter:
letter_counter[word] += 1
else:
letter_counter[word] = 1
user_letter = sorted(letter_counter, key = letter_counter.get, reverse = True)
number_1 = user_letter[:2]
print(number_1)
Run Code Online (Sandbox Code Playgroud)
我可以打印正确字母的唯一方法是设置限制
number_1 = user_letter[:2]
例如,如果我输入以下内容:
mystr = input("Thomas Jones")
Run Code Online (Sandbox Code Playgroud)
在代码中打印输出将是
print(number_1)
[o], [s]
Run Code Online (Sandbox Code Playgroud)
这是正确的,但如果将限制由设置2到3
number_1 = user_letter[:3]
它将打印[o] [s] [a]只有一个a它不应该存在.我想要它,以便用户输入任何数量的单词将显示没有限制器的正确重复字母.
我是开明的,我不知道如何纠正这个问题